﻿using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Yoozoo.Gta.Common;
using Yoozoo.Managers.ResourceManagerV2.Runtime;

/// <summary>
/// FlyText
/// </summary>
public static partial class GpuHudEntityHelper
{
    /// <summary>
    /// 获取飘字实体,同时初始化飘字,asset计数器+1
    /// 可以在这里添加参数,用于获取实体后处理
    /// </summary>
    /// <param name="id"></param>
    /// <returns></returns>
    public static GpuFlyTextEntity GetFlyTextEntity(int id)
    {
        return GetHudEntity<GpuFlyTextEntity>(GpuHudEntityType.FlyText, id,8);
    }
    /// <summary>
    /// 根据Id播放瓢字
    /// 所有的参数在这里进行组装
    /// 每种类型的FlyText肯定不会进行合批
    /// 获取Entity后自行调用Entity的Update()
    /// </summary>
    /// <param name="id"></param>
    public static GpuFlyTextEntity PlayFlyText(int id, Vector3 initPos, float duration, string content)
    {
        //1. 获取瓢字Entity
        //2. 配置Entity
        //3. 注册进管理表
        GpuFlyTextEntity flyEntity = GpuHudFacade.GpuFacade.GetFlyTextEntity(id);
        if (flyEntity != null)
        {
            //Pack数据
            flyEntity.initPos = initPos;
            flyEntity.duration = duration;
            //修改瓢字文本
            flyEntity.GpuHudAccessor.AlterTextStyleAccesor(content, false);

            //生命周期开始
            flyEntity.OnPlay();
        }
        return flyEntity;
    }



}
